package cn.com.sise.dao;

import cn.com.sise.pojo.Exercise;
import cn.com.sise.pojo.Question;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository("ExerciseDao")
public interface ExerciseDao {

    /**
     * 增加题目
     *
     * @param question 传入值
     * @return int
     */
    int insertQuestion(Question question);

    /**
     * 通过Id删除题目
     *
     * @param question 传入值
     * @return int
     */
    int deleteQuestion(Question question);

    /**
     * 通过Id修改题目
     *
     * @param question 传入值
     * @return int
     */
    int updateQuestion(Question question);

    /**
     * 通过ID查询该ID试卷所有题目
     *
     * @param exerciseId 传入值
     * @return List<Exercise>
     */
    List<Exercise> getAllQuestionById(@Param("exerciseId") int exerciseId);

    /**
     * 查询所有的试卷
     *
     * @return List<Exercise>
     */
    List<Exercise> getAllExercises();

    /**
     * 插入试卷
     *
     * @param exercise 插入试卷的信息
     * @return int
     */
    int insertExercise(Exercise exercise);

    /**
     * 根据ID删除试卷
     *
     * @param exercise_id 试卷ID
     */
    void deleteExercise(@Param("exercise_id") int exercise_id);

    /**
     * 根据试题ID删除试题
     *
     * @param question_id 试题ID
     * @return Question
     */
    Question getQuestionById(@Param("question_id") int question_id);
}
